using System;


namespace FinlogiK.FxCop.Statistics
{
	/// <summary>
	/// Describes the types FxCop violations statistics that may be stored.
	/// </summary>
	public enum ViolationStatisticType
	{
		/// <summary>
		/// The violation type is unspecified.
		/// </summary>
		Unknown = 0,
		/// <summary>
		/// Violations that should eventually be fixed
		/// </summary>
		Total = 1,
		/// <summary>
		/// Violations in the immediate todo backlog
		/// </summary>
		Todo = 2
	}

	/// <summary>
	/// Describes an operation that occurs during a statistics collection analysis run.
	/// </summary>
	public enum AnalysisOperation
	{
		/// <summary>
		/// No analysis is running.
		/// </summary>
		None = 0,
		/// <summary>
		/// The removal of TODO exclusions from an FxCop project.
		/// </summary>
		TodoExclusionRemoval = 100,
		/// <summary>
		/// The execution of FxCop to detect TODO violations in an FxCop project.
		/// </summary>
		TodoViolationDetection = 200,
		/// <summary>
		/// The persistence of TODO violation statistics to the statistics data store.
		/// </summary>
		TodoViolationStatisticsPersistence = 300,
		/// <summary>
		/// The activation of all rules prior to detection of total violations.
		/// </summary>
		RuleActivation = 400,
		/// <summary>
		/// The execution of FxCop to detect total violations in an FxCop project.
		/// </summary>
		TotalViolationDetection = 500,
		/// <summary>
		/// The persistence of total violation statistics to the statistics data store.
		/// </summary>
		TotalViolationStatisticsPersistence = 600
	}
}